File Types view

SNiFF+ handles different kinds of files by associating them with file types. SNiFF+ comes with a set of predefined commonly used file types.
During the creation of a project, the file types are copied from your Preferences to the project attributes. Each project has its own set of file types, so modifying the file types in the Preferences does not affect already existing projects.
New file types can be created by pressing New.... For details, please see To set File Types attributes.
The following illustration shows the File Types view:

Typography of File Types List

Bold | File type is part of the project. To remove this file type from the project, select it and press the Remove button.
Italics | File type is not part of the project. To add this file type to the project, select it and press the Add File Type button.

You can modify the list of file types with the following buttons:

New... | Allows you to create a new file type. When the button is pressed, a New File Type dialog opens, prompting you for the name of the new File Type. You will be warned if the name already exists.
Copy... | Copies the currently selected file type together with its attributes and adds -1 at the end of the existing name.
Rename... | Opens a dialog in which you can rename the currently selected File Type.
Remove File Type | Removes the selected File Type from the Project.
Add File Type | Adds a pre-configured File Type to the Project (to see all pre-configured File Types, press the Show All button).
Show All / Hide Unused | File Types which are not part of the Project (italics) will be shown/hidden.

File Types -- Tabs
General tab

Signatures | Specifies the pattern for the file type using shell regular expressions. SNiFF+ uses signatures to determine the file type of a given file. A file type can have more than one signature. Multiple signatures are separated from each other by a colon (:). SNiFF+ keeps an alphabetical list of file types. If a file matches the signature of more than one file type, SNiFF+ associates the file with the first file type it finds in the list.
Type | Specifies a generalized (pre-defined) name for the File Type. Some File Types (Implementation, Object and IDL) have a special significance in SNiFF+. These are described under Special File Types below).
Directory | Specifies the directory where files of this file type are stored. If the directory specification is a relative path, it is relative to the Project Directory. An absolute path can also be specified.

Special File Types
SNiFF+ uses generalized File Types, some of which have a special significance in the SNiFF+ Make Support system.

- Implementation File Type
If you add a new file type (extension

*.myC ) to a SNiFF+ project, and you define *.myC files to be of the Implementation type, the SNiFF+ Make Support system will know that

- the

*.myC files are compilable, and that, by default, *.o files are to be generated
- dependencies have to be checked.
- Object File Type
If you add an Object file type and derive it from a given implementation file type (e.g. from the *.myC files used in the above example), you can specify a custom extension for generated object files.
- IDL
If you specify files to be of the IDL type, the targets for these files will always be generated prior to all other (standard) targets.
Context Menu tab
This tab allows you to configure the right-click context menu of the Project Editor's File List according to file types.

Command Label | Specifies the menu command labels that should appear in the Project Editor's File List context menu. For each Command Label, you must specify a tool name in the Corresponding Command list. Multiple names are separated with a colon (:).
Corresponding Command | Specifies the possible tools that can be opened from the context menu. Multiple tools are separated with a colon (:). The tools can be called in the Project Editor's File List by selecting a file and then pressing the right mouse button. The first tool in the list is the default tool. The following predefined tools can be opened from the Project Editor's File List context menu:

Command | SNiFF+ tool | Can be used for
SniffEdit | Source Editor | All text file types
DocBrowser | Documentation Editor | Documentation
SniffOpen | Launch Pad | Project Description Files

Commands are executed in the Shell tool and can contain the following variables that will be expanded before execution of the command:

%d | full path of Project Description File (PDF)
%f | full path of source file
%F | base name of source file
%D | source directory of project
%l | repository path without the tool-specific extension

Build System tab

General Makefile | Specifies the Language Makefile. For details, please refer to Build and Make Support.
Generated From | Defines whether this file type is generated from another file type. For example, object files are generated from source files.

A dvanced tab

Source Code Parser | Defines which SNiFF+ parser is used for extracting symbol information from files of the File Type selected in the L . If this field is empty, the file is not parsed at all. SNiFF+ accommodates many predefined parsers. Please contact SNiFF+ Support for information on predefined parsers and incorporating your own parser.
Icon for File Type | Specifies the icon that should be associated with the file type. It is shown whenever the file is shown in SNiFF+. SNiFF+ comes with a set of icons for most of the predefined types. If the directory specification is a relative path, it is relative to the project directory. An absolute path can also be specified.
Add/Remove Automatically to/from Project | If you want SNiFF+ to add/remove files of a particular file type automatically to/from a project, checkmark Add/Remove Automatically to/from Project. We suggest that you checkmark Add/Remove Automatically to/from Project for "derived files" (e.g., Make Support files). On the other hand, you should clear the Add/Remove Automatically to/from Project checkbox for files that you share with other team members (e.g., source files). This attribute simply allows SNiFF+ to add/remove files to/from a project. It does not modify files outside the SNiFF+ environment in any way. Note that you cannot add/remove files in SNiFF+ when Add/Remove Automatically to/from Project is checkmarked. By checkmarking it, you have delegated the task of adding/removing these files to SNiFF+. If SNiFF+ cannot find files (when Add/Remove Automatically to/from Project is checkmarked) during the opening or updating of a project, you will not see these files in your project. Furthermore, if you delete a file outside of SNiFF+ and then select it in the Project Editor, an Alert dialog appears and the file is no longer listed in the Project Editor.
Generated in Object Directory | Only applicable for IDL. The files that are automatically added/removed are loaded from the Object Directory of the current platform (see also Platform view) when a project is opened or reloaded.